home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / disk / cache / SmartDiskZeus.readme < prev   
Encoding:
Text File  |  1994-06-28  |  4.5 KB  |  117 lines

  1. Short: disk cache - Fixed for Zeus
  2.  
  3. *********************************************************************
  4.  
  5. Note: this version is fixed to work with the PPS Zeus '040 card for
  6. the 2000.  The fix is simply to update and return the proper io_Error
  7. code (0 if no error exists).  Previously, this code failed to do this
  8. (mode cache codes fail to do this!) which results in problems for the
  9. Zeus.  This code should have no problems working with any other 
  10. controller cards as well.
  11.  
  12. This code has been recompiled with SASC 6.3.
  13.  
  14. Any questions about this fix can be directed to me.  Questions about
  15. the original cache software must be directed to to the original 
  16. author of this code.
  17.  
  18. David Walthour
  19. walthour@dartmouth.edu
  20.  
  21. *********************************************************************
  22.  
  23. This is SmartDisk1.3.1, written by David Le Blanc.
  24.  
  25. * removed some accidental 2.0 dependent code.
  26. * added command line parameters
  27.  
  28. It is an '8-Way set associative' cache, with 8 sets, lines of 4 sectors with
  29. prefetch, and 32 lines. If you under stand cache jargon, then you'd know that
  30. adds up to:
  31.  
  32. 32*4*8*512 = 524288 or 512K and sectors are 'prefetched' four at a time.
  33.  
  34. The frefetch strips time of program loading and directories. It may 
  35. work against you on a heavily fragmented disk, but there is a general
  36. noticable gain in performance EVEN when the data you want is not in
  37. the cache.
  38.  
  39. So, this cache uses 512k, which gets allocated as the cache expands.
  40. There are a few limitations, but thats only because all parameters are
  41. hard coded into the source.
  42.  
  43. | Since you cannot specify the type of drive you have, there are three versions
  44. | in the archive.
  45.  
  46. | SmartDisk.xt      : Any xt.device user (A590 xt/ide drive)
  47. | SmartDisk.scsi    : Any scsi.device user, (a590 scsi, A2091 etc)
  48. | SmartDisk.gvpscsi : Any gvpscsi.device user, namely all GVP controllers.
  49. ^ Obsolete.
  50.  
  51. Arguments:
  52.  
  53. SmartDisk <devicename> <unit>
  54.  
  55. ******** ******** ******** ******** ******** ******** ******** ********
  56.  
  57. I Must put a note in here to warn users with multiple drives. THIS
  58. PROGRAM WILL FAIL on a system which uses the same device (eg scsi.device)
  59. for many physical units. The reason is that it patches the device 'BeginIO'
  60. vector, effectively catching calls to read ANY unit, but it does not
  61. internally differentiate amongst different devices. The reason is simple,
  62. there is not indication of the 'unit' in the IOStdReq structure. 
  63.  
  64. (There is a 'Unit' pointer but that is device private and I'd be stupid
  65. to depend on it :-)
  66.  
  67. The effect is that if a read from unit 1 gets cached, the same read to 
  68. unit 0 may grab an entry from the cache which actually came from unit
  69. 1! (can you spell BOOM!!) 
  70.  
  71. BE WARNED!
  72.  
  73. ******** ******** ******** ******** ******** ******** ******** ********
  74.  
  75.  
  76.  * SmartDisk 1.3.1 
  77.  * 
  78.  * Added code to grab device and unit from the command line.
  79.  * Removed 2.0 dependent code which had crept in. (CreateMsgPort() instead of
  80.  * CreatePort() for example)
  81.  *
  82.  * SmartDisk 1.3.
  83.  *
  84.  * Created by David Le Blanc 29/10/91 Absolutely no copywrite. But if you improve
  85.  * it, please send me a new version (with source!) 
  86.  * 
  87.  * Some performance quotes: (Doesn't everyone make these??)
  88.  * Background:  I have a directory called MAN: which has 355 manuals.
  89.  *
  90.  * WARNING: These are bad examples, since a 'dir' reads the disk, then sorts the
  91.  * contents, then writes the data to the screen. These times include the sorting
  92.  * and output of the directory. This sorting and output time is in the order
  93.  * of 1.5 to 2 seconds.
  94.  *
  95.  * Normal DIR MAN:        12 seconds
  96.  * Cache enabled but empty      9  seconds (prefetch does work!) 
  97.  * Cache primed                 5  seconds.
  98.  *
  99.  * With a slower drive and/or faster machine these times can only improve.
  100.  * I have a drive capable of 800k/sec on my unaccelerated A500. Those with
  101.  * a 150K/sec A590 would notice a greater performance boost. Same for those
  102.  * with 'bloody fast machines' (grumble :) If I was REALLY worried about making
  103.  * the statistic look good, then I'd test it on an A590.
  104.  *
  105.  
  106.  
  107. ============================= Archive contents =============================
  108.  
  109. Original  Packed Ratio    Date     Time    Name
  110. -------- ------- ----- --------- --------  -------------
  111.     3905    1881 51.8% 18-Jan-94 19:53:16  dl/SmartDisk131/ReadMe
  112.      146     105 28.0% 18-Jan-94 19:59:42  dl/SmartDisk131/SCOPTIONS
  113.    10168    5112 49.7% 18-Jan-94 19:59:56  dl/SmartDisk131/SmartDisk
  114.    16172    5250 67.5% 18-Jan-94 19:56:48  dl/SmartDisk131/SmartDisk.c
  115. -------- ------- ----- --------- --------
  116.    30391   12348 59.3% 19-Jan-94 10:15:00   4 files
  117.